#!/usr/bin/python3
# -*- coding:utf-8 -*-
import os
class  SearchFile(object):

    def __init__(self,path='.'):
        self._path=path
        self.abspath=os.path.abspath(self._path) # 默认当前目录

    def finddir(self,keyword,root):
        dirlist=[]
        thirddirlist=[]
        for root,dirs,files in os.walk(root):
            if keyword in dirs:
                dirlist.append(os.path.join(root, keyword))
        for dir in dirlist:
            print(dir)
        #print(dirlist)
        print('...........................................')
        for path in dirlist:
            #print(item)
            third_subdir=os.listdir(path)
            #print(third_subdir)
            for name in third_subdir:
                path_name = os.path.join(path, name)
                if (os.path.isdir(path_name) and (".repo" not in path_name) and ("out" not in path_name)):
                        thirddirlist.append(path_name)
        for dir in thirddirlist:
            print(dir)
        print('...........................................')

    def findfile(self,keyword,root):
        filelist=[]
        for root,dirs,files in os.walk(root):
            for name in dirs:
                fitfile=filelist.append(os.path.join(root, name))
                #print(fitfile)
                print(os.path.join(root, name))
        #print(filelist)
        print('...........................................')
        for i in filelist:
            if os.path.isfile(i):
                #print(i)
                if keyword in os.path.split(i)[1]:
                     print('yes!',i)    # 绝对路径
                #else:
                    #print('......no keyword!')

    def __call__(self):
        loop = True
        while loop:
            workpath=input('Do you want to work under the current folder? Y/N:')
            if(workpath == ''):
                 break
            if workpath=='y' or workpath=='Y':
                root=self.abspath   # 把当前工作目录作为工作目录
                print('当前工作目录：',root)
                dirlist=os.listdir()  # 列出工作目录下的文件和目录
                print(dirlist)
            else:
                root=input('please enter the working directory:')
                print('当前工作目录：',root)
            keyword=input('the keyword directory you want to find, such as third_party :')
            if(keyword==''):
                break
            self.finddir(keyword,root)  # 查找带指定字符的文件
            loop = False



if __name__ == '__main__':
    search = SearchFile()
    search()
